/**
 * There are <a href="https://www.hdzhx.com">邯郸智讯</a> code generation
 */
package com.boxin.ims.modules.wechat.entity;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.BaseEntity;
import com.thinkgem.jeesite.modules.sys.entity.User;

/**
 * 用户全局配置Entity
 * @author Jakemanse
 * @version 2013-10-03
 */
@Entity
@Table(name = "wp_user_define")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class UserDefine extends BaseEntity {
	
	private static final long serialVersionUID = 1L;
	private Long id; 		// 编号
	private User user; 		// 用户
	private String name; 	// 名称
	private Integer qrcodeWidth;	//二维码宽度
	private Integer qrcodeHeight;	//二维高度
	
	private String exchangeTitle;	//积分兑换回复时的二维码标题
	private String exchangeDesc;	//积分兑换回复时的二维码描述
	
	private String regMemberTitle;	//注册会员时返回图片的标题
	private String regMemberPic;	//注册会员时需要的图片
	private String regMemberDesc;	//注册会员 时图片的描述
	
	
	private String guestBookTitle;		//留言板标题
	private String guestBookDesc;		//留言板描述
	private String guestBookPic;		//留言板图片
	
	
	private Integer signScore;		//默认签到的分数
	private String signupTitle;		//签到图文标题
	private String signupDesc;		//签到图文描述
	private String signupPic;			//签到图文图片
	private String footer;			//页脚显示信息
	
	
	
	private String regLottery;			//注册是否送礼品	1.是  0否
	private String lotteryName;			//奖品名称
	private Integer lotteryValidDays;	// 奖品有效时间
	private String lotteryPic;			//图片名称
	private String lotteryTitle;		//送礼标题
	private String lotteryDesc;			//注册送礼描述
	
	private String qrcodeMessage;		//所有显示二维码处理的通知内容
	
	
	/**
	 * 活动或业务开关
	 */
	
	private String signSwitch;				//签到开关	1:开  0关
	private String signSwitchDesc;			//关闭原因说明 
	private String exchangeSwitch;			//兑换开关	1:开  0关
	private String exchangeSwitchDesc;		//兑换开关描述
	private String couponSwitch;			//优惠开关	1:开  0关
	private String couponSwitchDesc;		//优惠开关描述
	
	
	
	
	private Date createTime;	// 创建日期
	private String delFlag;	// 删除标记（0：正常；1：删除）
	private String remarks; // 备注

	public UserDefine() {
		this.lotteryValidDays=1;
		this.regLottery = NO;
		this.createTime = new Date();
		this.delFlag = DEL_FLAG_NORMAL;
		
		this.signSwitch = NO;
		this.exchangeSwitch = NO;
		this.couponSwitch = NO;
	}

	public UserDefine(Long id){
		this();
		this.id = id;
		
	}
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	//@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_wechat_userDefine")
	//@SequenceGenerator(name = "seq_wechat_userDefine", sequenceName = "seq_wechat_userDefine")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@ManyToOne
	@JoinColumn(name="user_id")
	@NotFound(action = NotFoundAction.IGNORE)
	@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
	@NotNull
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
	@Length(min=1, max=200)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Length(min=0, max=255)
	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	
	@NotNull
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Length(min=1, max=1)
	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public Integer getQrcodeWidth() {
		return qrcodeWidth;
	}

	public void setQrcodeWidth(Integer qrcodeWidth) {
		this.qrcodeWidth = qrcodeWidth;
	}

	public Integer getQrcodeHeight() {
		return qrcodeHeight;
	}

	public void setQrcodeHeight(Integer qrcodeHeight) {
		this.qrcodeHeight = qrcodeHeight;
	}

	public String getExchangeTitle() {
		return exchangeTitle;
	}

	public void setExchangeTitle(String exchangeTitle) {
		this.exchangeTitle = exchangeTitle;
	}

	public String getExchangeDesc() {
		return exchangeDesc;
	}

	public void setExchangeDesc(String exchangeDesc) {
		this.exchangeDesc = exchangeDesc;
	}

	public Integer getSignScore() {
		return signScore;
	}

	public void setSignScore(Integer signScore) {
		this.signScore = signScore;
	}

	public String getFooter() {
		return footer;
	}

	public void setFooter(String footer) {
		this.footer = footer;
	}

	public String getRegMemberTitle() {
		return regMemberTitle;
	}

	public void setRegMemberTitle(String regMemberTitle) {
		this.regMemberTitle = regMemberTitle;
	}

	public String getRegMemberDesc() {
		return regMemberDesc;
	}

	public void setRegMemberDesc(String regMemberDesc) {
		this.regMemberDesc = regMemberDesc;
	}

	public String getRegMemberPic() {
		return regMemberPic;
	}

	public void setRegMemberPic(String regMemberPic) {
		this.regMemberPic = regMemberPic;
	}

	public String getRegLottery() {
		return regLottery;
	}

	public void setRegLottery(String regLottery) {
		this.regLottery = regLottery;
	}

	public String getLotteryName() {
		return lotteryName;
	}

	public void setLotteryName(String lotteryName) {
		this.lotteryName = lotteryName;
	}

	public Integer getLotteryValidDays() {
		return lotteryValidDays;
	}

	public void setLotteryValidDays(Integer lotteryValidDays) {
		this.lotteryValidDays = lotteryValidDays;
	}

	public String getLotteryPic() {
		return lotteryPic;
	}

	public void setLotteryPic(String lotteryPic) {
		this.lotteryPic = lotteryPic;
	}

	public String getLotteryTitle() {
		return lotteryTitle;
	}

	public void setLotteryTitle(String lotteryTitle) {
		this.lotteryTitle = lotteryTitle;
	}

	public String getLotteryDesc() {
		return lotteryDesc;
	}

	public void setLotteryDesc(String lotteryDesc) {
		this.lotteryDesc = lotteryDesc;
	}

	public String getQrcodeMessage() {
		return qrcodeMessage;
	}

	public void setQrcodeMessage(String qrcodeMessage) {
		this.qrcodeMessage = qrcodeMessage;
	}

	public String getSignSwitch() {
		return signSwitch;
	}

	public void setSignSwitch(String signSwitch) {
		this.signSwitch = signSwitch;
	}


	public String getExchangeSwitch() {
		return exchangeSwitch;
	}

	public void setExchangeSwitch(String exchangeSwitch) {
		this.exchangeSwitch = exchangeSwitch;
	}

	public String getCouponSwitch() {
		return couponSwitch;
	}

	public void setCouponSwitch(String couponSwitch) {
		this.couponSwitch = couponSwitch;
	}

	public String getSignSwitchDesc() {
		return signSwitchDesc;
	}

	public void setSignSwitchDesc(String signSwitchDesc) {
		this.signSwitchDesc = signSwitchDesc;
	}

	public String getExchangeSwitchDesc() {
		return exchangeSwitchDesc;
	}

	public void setExchangeSwitchDesc(String exchangeSwitchDesc) {
		this.exchangeSwitchDesc = exchangeSwitchDesc;
	}

	public String getCouponSwitchDesc() {
		return couponSwitchDesc;
	}

	public void setCouponSwitchDesc(String couponSwitchDesc) {
		this.couponSwitchDesc = couponSwitchDesc;
	}

	public String getGuestBookTitle() {
		return guestBookTitle;
	}

	public void setGuestBookTitle(String guestBookTitle) {
		this.guestBookTitle = guestBookTitle;
	}

	public String getGuestBookDesc() {
		return guestBookDesc;
	}

	public void setGuestBookDesc(String guestBookDesc) {
		this.guestBookDesc = guestBookDesc;
	}

	public String getGuestBookPic() {
		return guestBookPic;
	}

	public void setGuestBookPic(String guestBookPic) {
		this.guestBookPic = guestBookPic;
	}

	public String getSignupTitle() {
		return signupTitle;
	}

	public void setSignupTitle(String signupTitle) {
		this.signupTitle = signupTitle;
	}

	public String getSignupDesc() {
		return signupDesc;
	}

	public void setSignupDesc(String signupDesc) {
		this.signupDesc = signupDesc;
	}

	public String getSignupPic() {
		return signupPic;
	}

	public void setSignupPic(String signupPic) {
		this.signupPic = signupPic;
	}


	
	
	
	
	
	
}


